﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using WROA.Models.Entitys;
using DevExpress.Xpo;
using System.Web.Mvc;

namespace WROA.Models.IServices
{
    public interface IFlowService : IService
    {
        void UpdateFlowData(Flow flow);
        void UpdateFormData(FormData form);
        Flow GetFlow(string name);
        XPCollection GetAllFlow();
        FlowType GetFlowType(string name);
        XPCollection GetAllFlowType();
        List<SelectListItem> GetAllFlowTypeList();
        FormData GetForm(string name);
        XPCollection GetAllForm();
        List<SelectListItem> GetAllFormNameList();
        bool IsRunning(string name);
        void UpdateIsBanTrue(int id);
        void UpdateIsBanFalse(int id);
        bool ProcedureIsLastStep(int id);
        Procedure GetFirstProcedure(Flow flow);
        IList<SelectListItem> GetFlowNameList(string flowTypeName);
    }
}